package store

import (
	"context"
	"manager/model"
	"manager/model/entity"
)

type IStore interface {
	IExecTx
	Create(ctx context.Context, e *entity.Store) (int64, error)
	Find(ctx context.Context, id int64) (*entity.Store, error)
	Update(ctx context.Context, id int64, updates map[string]interface{}) error
	Delete(ctx context.Context, id int64) error
	List(ctx context.Context, in *model.StoreListRequest) (int, []*entity.Store, error)
	CountByArea(ctx context.Context, areaIds []int64) ([]*model.CountByAreaResponse, error)
}
